package com.chinda.modules.sys.dto;

import com.chinda.common.enums.UserStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Date;
import java.util.List;


/**
 * 系统用户
 * 
 * @author chinda
 * @date 2021-06-16 05:52:51
 */
@Getter
@Setter
public class SysUserDTO implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 主键
	 */
	@ApiModelProperty(value = "主键")
	private Long userId;
	/**
	 * 用户名
	 */
	@ApiModelProperty(value = "用户名")
	private String username;
	/**
	 * 密码
	 */
	@ApiModelProperty(value = "密码")
	private String password;
	/**
	 * 盐
	 */
	@ApiModelProperty(value = "盐")
	private String salt;
	/**
	 * 邮箱
	 */
	@ApiModelProperty(value = "邮箱")
	private String email;
	/**
	 * 手机号
	 */
	@ApiModelProperty(value = "手机号")
	private String mobile;
	/**
	 * 状态 PROHIBIT：禁用   NORMAL：正常
	 */
	@ApiModelProperty(value = "状态 PROHIBIT：禁用   NORMAL：正常")
	private UserStatusEnum status;
	/**
	 * 账户是否过期
	 */
	@ApiModelProperty(value = "账户是否过期")
	private Boolean isAccountNonExpired;
	/**
	 * 证书是否过期
	 */
	@ApiModelProperty(value = "证书是否过期")
	private Boolean isCredentialsNonExpired;
	/**
	 * 账户是否锁定
	 */
	@ApiModelProperty(value = "账户是否锁定")
	private Boolean isAccountNonLocked;
	/**
	 * 账户是否有效
	 */
	@ApiModelProperty(value = "账户是否有效")
	private Boolean isEnabled;
	/**
	 * 创建人
	 */
	@ApiModelProperty(value = "创建人")
	private String createBy;
	/**
	 * 创建时间
	 */
	@ApiModelProperty(value = "创建时间")
	private Date createDate;
	/**
	 * 修改人
	 */
	@ApiModelProperty(value = "修改人")
	private String modifyBy;
	/**
	 * 修改时间
	 */
	@ApiModelProperty(value = "修改时间")
	private Date modifyDate;
	/**
	 * 删除标记  -1：已删除  0：正常
	 */
	@ApiModelProperty(value = "删除标记  -1：已删除  0：正常")
	private Integer del;
	/**
	 * 版本号
	 */
	@ApiModelProperty(value = "版本号")
	private Integer version;
	/**
	 * 角色
	 */
	@ApiModelProperty(value = "角色集合")
	private List<Long> roleIdList;
}
